<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>L2LB: Referência ao ficheiro cluster.h</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Gerado por Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Página&nbsp;principal</span></a></li>
      <li><a href="annotated.html"><span>Estruturas&nbsp;de&nbsp;dados</span></a></li>
      <li class="current"><a href="files.html"><span>Ficheiros</span></a></li>
    </ul>
  </div>
</div>
<div class="contents">
<h1>Referência ao ficheiro cluster.h</h1>Arquivo responsável por gerenciar (incluir/remover/buscar) os servidores do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> L2LB. <a href="#_details">Mais...</a>
<p>

<p>
<a href="cluster_8h-source.html">Ir para o código fonte deste ficheiro.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Estruturas de Dados</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcluster__node.html">cluster_node</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nó do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="structcluster__node.html#_details">Mais...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structcluster.html">cluster</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cluster.  <a href="structcluster.html#_details">Mais...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Funções</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#1cacc18d29de69dfe9b47ee4eb5e7600">hb_timer_add</a> (struct <a class="el" href="structcluster__node.html">cluster_node</a> *new_node)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Prepara o servidor adicionado ao <a class="el" href="structcluster.html" title="Cluster.">cluster</a> para ser removido do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> se nao receber o heartbeat.  <a href="#1cacc18d29de69dfe9b47ee4eb5e7600"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#25dbc05b5c8157863bcb1801c17f77c1">hb_broadcast_msg</a> (char *buf, int buf_len)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Envia uma mensagem em Brodcast para todos os nós do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="#25dbc05b5c8157863bcb1801c17f77c1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#28ab4480aefa945c08a4d1f5e16a8d5e">hash_remove_node_affinities</a> (struct <a class="el" href="structcluster__node.html">cluster_node</a> *node)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove todas as afinidades de um servidor Metodo usado na hora de remover um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="#28ab4480aefa945c08a4d1f5e16a8d5e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structcluster__node.html">cluster_node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#a568a7669c4ee6f27338231d23575c13">add_cluster_node</a> (int id, u32 vlan_ip)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Registra um novo servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="#a568a7669c4ee6f27338231d23575c13"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#c55a15a79cadec11fb3d6df11ac5f4e7">remove_cluster_node</a> (unsigned long node_ptr)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Remove um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a><ul>
<li>Remove o servidor da lista de servidores,</li><li>Notifica os demais servidores da exclusao deste servidor. </li></ul>
 <a href="#c55a15a79cadec11fb3d6df11ac5f4e7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structcluster__node.html">cluster_node</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#4e116ec9395a6720c5f84de3e28b25a9">get_node_by_id</a> (int id)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Busca um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> pelo ID.  <a href="#4e116ec9395a6720c5f84de3e28b25a9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#33d0ab81e5ab7cf05146cead194236b7">init_cluster</a> (char *<a class="el" href="nlb-driver_8c.html#312f6a236fcec7f8803e170412fb3f86">dev</a>, char *<a class="el" href="nlb-driver_8c.html#c8f175c78fae68f5348eab7bcc8ca54b">ip</a>, int(*hard_start_xmit_new)(struct sk_buff *skb, struct net_device *<a class="el" href="nlb-driver_8c.html#312f6a236fcec7f8803e170412fb3f86">dev</a>))</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Inicializa a estrutura my_cluster.  <a href="#33d0ab81e5ab7cf05146cead194236b7"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#aa5aa80302607600a63f6b78dc842b75">nlb_cluster_exit</a> (void)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Finaliza o <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="#aa5aa80302607600a63f6b78dc842b75"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variáveis</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structcluster__node.html">cluster_node</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#39e3ce09327c335c6a58f152f9d8fbbf">my_node</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Nó do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>.  <a href="#39e3ce09327c335c6a58f152f9d8fbbf"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structcluster.html">cluster</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a></td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Cluster.  <a href="#1917b2709741dea7ce5cf6ea441686ed"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Descrição detalhada</h2>
Arquivo responsável por gerenciar (incluir/remover/buscar) os servidores do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> L2LB. 
<p>

<p>Definido no ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>
<hr><h2>Documentação das funções</h2>
<a class="anchor" name="a568a7669c4ee6f27338231d23575c13"></a><!-- doxytag: member="cluster.h::add_cluster_node" ref="a568a7669c4ee6f27338231d23575c13" args="(int id, u32 vlan_ip)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static struct <a class="el" href="structcluster__node.html">cluster_node</a>* add_cluster_node           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&nbsp;</td>
          <td class="paramname"> <em>vlan_ip</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static, read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Registra um novo servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>ID do servidor </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>vlan_ip</em>&nbsp;</td><td>VIP do servidor </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="cluster_8h-source.html#l00077">77</a> do ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>

<p>Referências <a class="el" href="heartbeat_8h-source.html#l00038">hb_timer_add()</a>, <a class="el" href="cluster_8h-source.html#l00038">cluster::head</a>, <a class="el" href="cluster_8h-source.html#l00017">cluster_node::id</a>, <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a>, <a class="el" href="cluster_8h-source.html#l00014">cluster_node::next</a>, <a class="el" href="cluster_8h-source.html#l00041">cluster::next_serving</a>, <a class="el" href="cluster_8h-source.html#l00042">cluster::node_count</a>, <a class="el" href="cluster_8h-source.html#l00015">cluster_node::prev</a>, <a class="el" href="cluster_8h-source.html#l00063">cluster::rwlock</a>, <a class="el" href="cluster_8h-source.html#l00039">cluster::tail</a> e <a class="el" href="cluster_8h-source.html#l00018">cluster_node::vlan_ip</a>.</p>

<p>Referenciado por <a class="el" href="interface_8h-source.html#l00033">cmd_add_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="4e116ec9395a6720c5f84de3e28b25a9"></a><!-- doxytag: member="cluster.h::get_node_by_id" ref="4e116ec9395a6720c5f84de3e28b25a9" args="(int id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structcluster__node.html">cluster_node</a>* get_node_by_id           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>id</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [read]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Busca um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> pelo ID. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td>ID do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="cluster_8h-source.html#l00180">180</a> do ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>

<p>Referências <a class="el" href="cluster_8h-source.html#l00038">cluster::head</a>, <a class="el" href="cluster_8h-source.html#l00017">cluster_node::id</a>, <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a>, <a class="el" href="cluster_8h-source.html#l00014">cluster_node::next</a> e <a class="el" href="cluster_8h-source.html#l00063">cluster::rwlock</a>.</p>

<p>Referenciado por <a class="el" href="interface_8h-source.html#l00053">cmd_my_node()</a> e <a class="el" href="heartbeat_8h-source.html#l00121">nlb_load_heartbeat_signal()</a>.</p>

</div>
</div><p>
<a class="anchor" name="28ab4480aefa945c08a4d1f5e16a8d5e"></a><!-- doxytag: member="cluster.h::hash_remove_node_affinities" ref="28ab4480aefa945c08a4d1f5e16a8d5e" args="(struct cluster_node *node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void hash_remove_node_affinities           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcluster__node.html">cluster_node</a> *&nbsp;</td>
          <td class="paramname"> <em>node</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove todas as afinidades de um servidor Metodo usado na hora de remover um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>node</em>&nbsp;</td><td>Servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="hash-afinidades_8h-source.html#l00235">235</a> do ficheiro <a class="el" href="hash-afinidades_8h-source.html">hash-afinidades.h</a>.</p>

<p>Referências <a class="el" href="hash-afinidades_8h-source.html#l00043">nlb_affinity_hash_table::entries</a>, <a class="el" href="hash-afinidades_8h-source.html#l00053">nlb_affinity_hash_table::hash_mask</a>, <a class="el" href="hash-afinidades_8h-source.html#l00038">nlb_affinity_hash_table::hash_table</a>, <a class="el" href="hash-afinidades_8h.html#548cda3f82635bd43a0b2b4beeecc8e4">my_nlb_affinity_hash_table</a>, <a class="el" href="hash-afinidades_8h-source.html#l00027">nlb_affinity::next</a> e <a class="el" href="hash-afinidades_8h-source.html#l00060">nlb_affinity_hash_table::rwlock</a>.</p>

<p>Referenciado por <a class="el" href="cluster_8h-source.html#l00125">remove_cluster_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="25dbc05b5c8157863bcb1801c17f77c1"></a><!-- doxytag: member="cluster.h::hb_broadcast_msg" ref="25dbc05b5c8157863bcb1801c17f77c1" args="(char *buf, int buf_len)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int hb_broadcast_msg           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>buf_len</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Envia uma mensagem em Brodcast para todos os nós do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>Buffer da mensagem </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>buf_len</em>&nbsp;</td><td>Tamanho do buffer da mensagem </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="heartbeat_8h-source.html#l00079">79</a> do ficheiro <a class="el" href="heartbeat_8h-source.html">heartbeat.h</a>.</p>

<p>Referências <a class="el" href="socket_8h-source.html#l00038">ksock_thread_t::addr_send</a>, <a class="el" href="socket_8h-source.html#l00049">ksocket_send()</a> e <a class="el" href="socket_8h-source.html#l00031">ksock_thread_t::sock</a>.</p>

<p>Referenciado por <a class="el" href="heartbeat_8h-source.html#l00240">hb_udb_client_start()</a> e <a class="el" href="cluster_8h-source.html#l00125">remove_cluster_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="1cacc18d29de69dfe9b47ee4eb5e7600"></a><!-- doxytag: member="cluster.h::hb_timer_add" ref="1cacc18d29de69dfe9b47ee4eb5e7600" args="(struct cluster_node *new_node)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void hb_timer_add           </td>
          <td>(</td>
          <td class="paramtype">struct <a class="el" href="structcluster__node.html">cluster_node</a> *&nbsp;</td>
          <td class="paramname"> <em>new_node</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Prepara o servidor adicionado ao <a class="el" href="structcluster.html" title="Cluster.">cluster</a> para ser removido do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> se nao receber o heartbeat. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>new_node</em>&nbsp;</td><td>Servidor </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="heartbeat_8h-source.html#l00038">38</a> do ficheiro <a class="el" href="heartbeat_8h-source.html">heartbeat.h</a>.</p>

<p>Referências <a class="el" href="cluster_8h-source.html#l00021">cluster_node::hb_timer</a>, <a class="el" href="heartbeat_8h-source.html#l00015">HEARTBEAT_TIMEOUT</a> e <a class="el" href="cluster_8h-source.html#l00125">remove_cluster_node()</a>.</p>

<p>Referenciado por <a class="el" href="cluster_8h-source.html#l00077">add_cluster_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="33d0ab81e5ab7cf05146cead194236b7"></a><!-- doxytag: member="cluster.h::init_cluster" ref="33d0ab81e5ab7cf05146cead194236b7" args="(char *dev, char *ip, int(*hard_start_xmit_new)(struct sk_buff *skb, struct net_device *dev))" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int init_cluster           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>dev</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>ip</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int(*)(struct sk_buff *skb, struct net_device *<a class="el" href="nlb-driver_8c.html#312f6a236fcec7f8803e170412fb3f86">dev</a>)&nbsp;</td>
          <td class="paramname"> <em>hard_start_xmit_new</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Inicializa a estrutura my_cluster. 
<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dev</em>&nbsp;</td><td>Nome da interface de rede usada para o <a class="el" href="structcluster.html" title="Cluster.">cluster</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ip</em>&nbsp;</td><td>IP virtual do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>hard_start_xmit_new</em>&nbsp;</td><td>Ponteiro para funcao que ira encapsular o metodo do driver de rede para modificar o cabecalho da camada de enlace </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="cluster_8h-source.html#l00214">214</a> do ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>

<p>Referências <a class="el" href="cluster_8h-source.html#l00044">cluster::dev</a>, <a class="el" href="structcluster.html#088588314045ccef65ac5c6b72d5e37d">cluster::hard_start_xmit_old</a>, <a class="el" href="cluster_8h-source.html#l00045">cluster::mac_response</a>, <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a>, <a class="el" href="cluster_8h-source.html#l00060">cluster::new_ip_addr</a>, <a class="el" href="cluster_8h-source.html#l00042">cluster::node_count</a>, <a class="el" href="utils_8h-source.html#l00033">parse_ipv4_addr()</a> e <a class="el" href="cluster_8h-source.html#l00063">cluster::rwlock</a>.</p>

<p>Referenciado por <a class="el" href="nlb-driver_8c-source.html#l00100">nlb_init_module()</a>.</p>

</div>
</div><p>
<a class="anchor" name="aa5aa80302607600a63f6b78dc842b75"></a><!-- doxytag: member="cluster.h::nlb_cluster_exit" ref="aa5aa80302607600a63f6b78dc842b75" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">static int nlb_cluster_exit           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [static]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Finaliza o <a class="el" href="structcluster.html" title="Cluster.">cluster</a>. 
<p>

<p>Definido na linha <a class="el" href="cluster_8h-source.html#l00265">265</a> do ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>

<p>Referências <a class="el" href="cluster_8h-source.html#l00044">cluster::dev</a>, <a class="el" href="structcluster.html#088588314045ccef65ac5c6b72d5e37d">cluster::hard_start_xmit_old</a>, <a class="el" href="cluster_8h-source.html#l00021">cluster_node::hb_timer</a>, <a class="el" href="cluster_8h-source.html#l00038">cluster::head</a>, <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a> e <a class="el" href="cluster_8h-source.html#l00014">cluster_node::next</a>.</p>

<p>Referenciado por <a class="el" href="nlb-driver_8c-source.html#l00130">nlb_exit_module()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c55a15a79cadec11fb3d6df11ac5f4e7"></a><!-- doxytag: member="cluster.h::remove_cluster_node" ref="c55a15a79cadec11fb3d6df11ac5f4e7" args="(unsigned long node_ptr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void remove_cluster_node           </td>
          <td>(</td>
          <td class="paramtype">unsigned long&nbsp;</td>
          <td class="paramname"> <em>node_ptr</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Remove um servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a><ul>
<li>Remove o servidor da lista de servidores,</li><li>Notifica os demais servidores da exclusao deste servidor. </li></ul>

<p>
<dl compact><dt><b>Parâmetros:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>node_ptr</em>&nbsp;</td><td>Ponteiro para o servidor do <a class="el" href="structcluster.html" title="Cluster.">cluster</a> </td></tr>
  </table>
</dl>

<p>Definido na linha <a class="el" href="cluster_8h-source.html#l00125">125</a> do ficheiro <a class="el" href="cluster_8h-source.html">cluster.h</a>.</p>

<p>Referências <a class="el" href="hash-afinidades_8h-source.html#l00235">hash_remove_node_affinities()</a>, <a class="el" href="heartbeat_8h-source.html#l00079">hb_broadcast_msg()</a>, <a class="el" href="cluster_8h-source.html#l00038">cluster::head</a>, <a class="el" href="cluster_8h-source.html#l00017">cluster_node::id</a>, <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a>, <a class="el" href="cluster_8h-source.html#l00014">cluster_node::next</a>, <a class="el" href="cluster_8h-source.html#l00041">cluster::next_serving</a>, <a class="el" href="cluster_8h-source.html#l00042">cluster::node_count</a>, <a class="el" href="cluster_8h-source.html#l00015">cluster_node::prev</a>, <a class="el" href="cluster_8h-source.html#l00063">cluster::rwlock</a> e <a class="el" href="cluster_8h-source.html#l00039">cluster::tail</a>.</p>

<p>Referenciado por <a class="el" href="heartbeat_8h-source.html#l00038">hb_timer_add()</a> e <a class="el" href="heartbeat_8h-source.html#l00121">nlb_load_heartbeat_signal()</a>.</p>

</div>
</div><p>
<hr><h2>Documentação das variáveis</h2>
<a class="anchor" name="1917b2709741dea7ce5cf6ea441686ed"></a><!-- doxytag: member="cluster.h::my_cluster" ref="1917b2709741dea7ce5cf6ea441686ed" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structcluster.html">cluster</a>  <a class="el" href="cluster_8h.html#1917b2709741dea7ce5cf6ea441686ed">my_cluster</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cluster. 
<p>

<p>Referenciado por <a class="el" href="cluster_8h-source.html#l00077">add_cluster_node()</a>, <a class="el" href="interface_8h-source.html#l00053">cmd_my_node()</a>, <a class="el" href="nlb-driver_8c-source.html#l00080">dev_cluster_hard_start_xmit_new()</a>, <a class="el" href="cluster_8h-source.html#l00180">get_node_by_id()</a>, <a class="el" href="heartbeat_8h-source.html#l00094">hb_rebuild_msg()</a>, <a class="el" href="cluster_8h-source.html#l00214">init_cluster()</a>, <a class="el" href="cluster_8h-source.html#l00265">nlb_cluster_exit()</a>, <a class="el" href="netfilter_8h-source.html#l00015">nlb_hook_in()</a>, <a class="el" href="nlb-driver_8c-source.html#l00100">nlb_init_module()</a>, <a class="el" href="interface_8h-source.html#l00080">procfile_read()</a> e <a class="el" href="cluster_8h-source.html#l00125">remove_cluster_node()</a>.</p>

</div>
</div><p>
<a class="anchor" name="39e3ce09327c335c6a58f152f9d8fbbf"></a><!-- doxytag: member="cluster.h::my_node" ref="39e3ce09327c335c6a58f152f9d8fbbf" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">struct <a class="el" href="structcluster__node.html">cluster_node</a>  <a class="el" href="cluster_8h.html#39e3ce09327c335c6a58f152f9d8fbbf">my_node</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Nó do <a class="el" href="structcluster.html" title="Cluster.">cluster</a>. 
<p>

<p>Referenciado por <a class="el" href="interface_8h-source.html#l00053">cmd_my_node()</a>.</p>

</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Gerado em Wed Sep 10 23:05:55 2008 para L2LB por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
